ফোরট্রানে Array এবং String Intrinsics এর ব্যবহার
ফোরট্রান একটি শক্তিশালী প্রোগ্রামিং ভাষা, যা অ্যারে (arrays) এবং স্ট্রিং (strings) ম্যানিপুলেশনের জন্য বিভিন্ন intrinsic functions প্রদান করে। এই intrinsic functions গুলি অ্যারে এবং স্ট্রিংয়ের উপর বিভিন্ন গাণিতিক, যৌক্তিক এবং স্ট্রিং প্রক্রিয়া করতে সহায়ক।
ফোরট্রানে অ্যারে এবং স্ট্রিংয়ের জন্য কিছু গুরুত্বপূর্ণ intrinsic functions ব্যবহৃত হয় যা কোডের কার্যকারিতা বৃদ্ধি করে এবং অ্যারে এবং স্ট্রিংয়ের সাথে কাজ করা সহজ করে তোলে।
১. Array Intrinsic Functions
ফোরট্রানে অ্যারের উপর অনেক intrinsic function পাওয়া যায় যা অ্যারের উপাদানগুলির উপর বিভিন্ন গাণিতিক এবং বিশ্লেষণমূলক কাজ করতে সহায়ক।
কিছু সাধারণ Array Intrinsics:
- SUM: অ্যারের সমস্ত উপাদানের যোগফল প্রদান করে।
- PRODUCT: অ্যারের সমস্ত উপাদানের গুণফল প্রদান করে।
- MAX: অ্যারের সর্বোচ্চ মান প্রদান করে।
- MIN: অ্যারের সর্বনিম্ন মান প্রদান করে।
- ALL: অ্যারের সব উপাদান সত্য কিনা তা চেক করে।
- ANY: অ্যারের কোনো উপাদান সত্য কিনা তা চেক করে।
- MAXVAL, MINVAL: অ্যারের সর্বোচ্চ এবং সর্বনিম্ন মান প্রদান করে।
- SIZE: অ্যারের আকার (ডাইমেনশন) প্রদান করে।
- RESHAPE: অ্যারের আকার পরিবর্তন করে।
উদাহরণ 1: SUM, PRODUCT, MAX, MIN এর ব্যবহার
program array_intrinsics
integer :: arr(5)
integer :: sum_result, product_result, max_value, min_value
arr = [1, 2, 3, 4, 5]
! অ্যারের উপাদানের যোগফল
sum_result = sum(arr)
! অ্যারের উপাদানের গুণফল
product_result = product(arr)
! সর্বোচ্চ মান
max_value = max(arr)
! সর্বনিম্ন মান
min_value = min(arr)
print *, 'Sum: ', sum_result
print *, 'Product: ', product_result
print *, 'Max Value: ', max_value
print *, 'Min Value: ', min_value
end program array_intrinsicsআউটপুট:
Sum: 15
Product: 120
Max Value: 5
Min Value: 1২. String Intrinsic Functions
ফোরট্রানে স্ট্রিংগুলির উপর কাজ করার জন্য বিভিন্ন string intrinsic functions পাওয়া যায়। এগুলি স্ট্রিংয়ের দৈর্ঘ্য, স্ট্রিং ট্রিমিং, স্ট্রিংয়ের সাদা স্থান সংযোজন এবং বিভিন্ন স্ট্রিং অপারেশন সম্পাদন করতে ব্যবহৃত হয়।
কিছু সাধারণ String Intrinsics:
- LEN: স্ট্রিংয়ের দৈর্ঘ্য প্রদান করে।
- TRIM: স্ট্রিংয়ের শেষে সাদা স্থান অপসারণ করে।
- ADJUSTL: স্ট্রিংয়ের বাম দিকে সাদা স্থান সরিয়ে স্ট্রিংটি বাম দিকে সরে আসে।
- ADJUSTR: স্ট্রিংয়ের ডান দিকে সাদা স্থান সরিয়ে স্ট্রিংটি ডান দিকে সরে আসে।
- INDEX: স্ট্রিংয়ের মধ্যে একটি সাবস্ট্রিংয়ের অবস্থান প্রদান করে।
- VERIFY: স্ট্রিংয়ের মধ্যে কোন নির্দিষ্ট চরিত্রের অস্তিত্ব পরীক্ষা করে।
- RESHAPE: স্ট্রিংয়ের আকার পরিবর্তন করা।
- SCAN: স্ট্রিংয়ের মধ্যে নির্দিষ্ট একটি চরিত্রের অবস্থান প্রদান করে।
উদাহরণ 2: LEN, TRIM, ADJUSTL, ADJUSTR এর ব্যবহার
program string_intrinsics
character(len=20) :: str = " Hello, World! "
character(len=20) :: adjusted_str
integer :: len_result, index_result
! LEN ফাংশন ব্যবহার করে স্ট্রিংয়ের দৈর্ঘ্য বের করা
len_result = len(str)
print *, 'Length of the string: ', len_result
! TRIM ফাংশন ব্যবহার করে স্ট্রিংয়ের সাদা স্থান অপসারণ করা
print *, 'Trimmed string: "', trim(str), '"'
! ADJUSTL ফাংশন ব্যবহার করে বাম দিকের সাদা স্থান সরানো
adjusted_str = adjustl(str)
print *, 'Adjusted left: "', adjusted_str, '"'
! ADJUSTR ফাংশন ব্যবহার করে ডান দিকের সাদা স্থান সরানো
adjusted_str = adjustr(str)
print *, 'Adjusted right: "', adjusted_str, '"'
! INDEX ফাংশন ব্যবহার করে একটি সাবস্ট্রিংয়ের অবস্থান খুঁজে বের করা
index_result = index(str, 'World')
print *, 'Index of "World": ', index_result
end program string_intrinsicsআউটপুট:
Length of the string: 20
Trimmed string: "Hello, World!"
Adjusted left: "Hello, World! "
Adjusted right: " Hello, World!"
Index of "World": 8৩. Array এবং String Intrinsics এর ব্যবহার একসাথে
এখানে Array এবং String Intrinsic Functions একসাথে ব্যবহার করার একটি উদাহরণ দেওয়া হলো:
উদাহরণ 3: Array এবং String Intrinsics একসাথে ব্যবহার
program array_string_example
character(len=20), allocatable :: names(:)
integer :: i
integer :: lengths(5)
! স্ট্রিংয়ের অ্যারে তৈরি
allocate(names(5))
names = ["Alice", "Bob", "Charlie", "David", "Eve"]
! প্রতিটি স্ট্রিংয়ের দৈর্ঘ্য বের করা
do i = 1, 5
lengths(i) = len(trim(names(i)))
end do
! দৈর্ঘ্য প্রিন্ট করা
print *, 'Lengths of strings: ', lengths
! অ্যারের স্ট্রিংগুলি প্রিন্ট করা
print *, 'Names in array: '
do i = 1, 5
print *, names(i)
end do
end program array_string_exampleব্যাখ্যা:
- এখানে, names অ্যারে 5টি স্ট্রিং ধারণ করছে এবং আমরা len(trim()) ফাংশন ব্যবহার করে প্রতিটি স্ট্রিংয়ের দৈর্ঘ্য বের করেছি।
- তারপর অ্যারের সমস্ত স্ট্রিং প্রিন্ট করা হয়েছে।
আউটপুট:
Lengths of strings: 5 3 7 5 3
Names in array:
Alice
Bob
Charlie
David
Eveউপসংহার
ফোরট্রানে Array এবং String Intrinsics এমন একটি গুরুত্বপূর্ণ টুল যা আপনাকে অ্যারে এবং স্ট্রিংয়ের উপরে বিভিন্ন কার্যক্রম সহজে সম্পাদন করতে সাহায্য করে। অ্যারের উপর গাণিতিক কাজ (যেমন যোগফল, গুণফল, সর্বোচ্চ/সর্বনিম্ন মান) এবং স্ট্রিংয়ের দৈর্ঘ্য বের করা, সাদা স্থান অপসারণ, সাবস্ট্রিং খুঁজে বের করা ইত্যাদি কাজ খুব সহজে করা যায় এই ইনট্রিন্সিক ফাংশনগুলির মাধ্যমে।
Read more